package swapper.model.dao;

import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import swapper.model.bean.Produto;

/**
 *
 * @author Valentino
 */
public class ProdutoDao extends HibernateDaoSupport implements IDao{
    @Override
    public Object addNew(Object obj) {
        return getHibernateTemplate().save((Produto) obj);
    }

    @Override
    public void delete(Object obj) {
        getHibernateTemplate().delete((Produto) obj);
    }

    @Override
    public void update(Object obj) {
        getHibernateTemplate().update((Produto) obj);
    }

    @Override
    public List<Object> listAll() {
        return getHibernateTemplate().find("from Produto p Where p.disponivel = 1 order by codigo desc ");
    }

    @Override
    public Object findByCod(Long codigo) {
        return (Produto) getHibernateTemplate().get(Produto.class, codigo);
    }
    
    @Override
    public List<Object> findByName(String name) {
        return getHibernateTemplate().find("from Produto p where p.nome like ?",name+"%");
    }
    
     public List<Object> listByCategoria(Object c) {
        return getHibernateTemplate().find("from Produto p where p.categoria = ? and p.disponivel = 1 order by codigo desc",c);
    }
     
    
    public List<Object> listAllChange(Long codigo) {
        return getHibernateTemplate().find("from Produto p Where p.disponivel = 1 and pessoa_codigo <> ? order by codigo desc ",codigo);
    } 
    
    
    public List<Object> listByExample(Object c) {
        return getHibernateTemplate().findByExample(c);
    }
    
    
    public List<Produto> listByExample(Produto c, int startPage, int pageSize) {
        return getHibernateTemplate().findByExample(c, startPage, startPage);
    } 
     
    
}
